本文是学习GB-T 18473-2016 工业机械电气设备 控制与驱动装置间实时串行通信数据链路. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
本标准规定了工业机械电气设备控制与驱动装置间实时串行通信数据链路(总线)之间的总线接口
及通信协议规范,目的在于实现基于实时串行通信协议的工业机械电气设备间控制装置、传感器、驱动、
I/O 等装置间的命令传输及应答,以支持装置间的互操作。
本标准适用于金属加工机械、纺织机械、印刷机械、缝制机械、塑料和橡胶机械、木工机械等电气设
备用的开放式数控系统。其他工业机械设备用的开放式数控系统亦可参照执行。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 17626.2—2006 电磁兼容 试验和测量技术 静电放电抗扰度试验
GB/T 17626.4—2008 电磁兼容 试验和测量技术 电快速瞬变脉冲群抗扰度试验
GB/T 17626.5—2008 电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验
GB/T 17626.11—2008 电磁兼容 试验和测量技术
电压暂降、短时中断和电压变化的抗扰度
试验
GB/T 20540.5—2006 测量和控制数字数据通信 工业控制系统用现场总线 类 型
3 :
PROFIBUS 规范 第5部分:应用层服务定义
IEC 61158-2-24:2014 工业系统用现场总线 第2-24部分:物理层服务及协议
IEC 61158-3-24:2014 工业系统用现场总线 第3-24 部分:数据链路层服务
IEC 61158-4-24:2014 工业系统用现场总线 第4-24部分:数据链路层协议
IEC 61158-5-24:2014 工业系统用现场总线 第5-24部分:应用层服务
IEC 61158-6-24:2014 工业系统用现场总线 第6-24 部分:应用层协议
下列术语和定义适用于本文件。
3.1.1
实时串行通信协议 serial data protocol for
real-time communication
一种面向工业机械电气设备与驱动装置间实时串行通信的开放式总线通信协议,采用物理层、数据
链路层、应用层三层简化协议结构,物理层基于RS485 或 ISO/IEC
8802.3协议标准。该协议可支持事
件驱动、周期、异步等通信模式,满足工业机械电气设备间控制装置、传感器、驱动、I/O
等装置间实时通
信的命令传输及应答通信操作需求。
GB/T 18473—2016
3.1.2
时隙 time slot
用于周期通信操作,将总线通信时间域等分为均匀的连续时间段,每个时间段为一个通信时隙,在
周期通信过程中,每个时隙内完成一个完整的数据发送、接收交互操作。
3.1.3
异步通信 asynchronous communication
一种实时串行通信通信方式,在该通信方式中命令不需要考虑周期通信时间约束即可进行数据通
信操作。
注:在该通信状态下,不能进行周期通信操作。
3.1.4
周期通信 cyclic communication
一种实时串行通信通信方式,在周期通信的每个时隙内,主站与从站完成一次完整的数据发送与接
收交互操作。
3.1.5
事件驱动通信 event driven communication
一种实时串行通信通信方式,在该通信方式中,主站与从站之间采用命令、响应、交互的方式进行数
据发送与接收交互操作。该通信方式不依赖规定的通信时隙约束。
3.1.6
监控从站 monitor slave
实时串行通信协议中,拥有监视所有通过网络传输进程数据功能的从站。
3.1.7
C1 消息 C1 message
实时串行通信协议中,用于异步通信的一种协议格式,规定 C1
主站作为发起方与从站或者 C2 主
站来交换消息。
3.1.8
C2 消息 C2 message
实时串行通信协议中,用于异步通信的一种协议格式,用于与 C2
主站和从站进行信息交互的一种
协议格式。
3.1.9
响应器 responder
实时串行通信协议中,应用层响应进程数据和消息的执行单元。
3.1.10
发送带应答的数据 send data with acknowledge
实时串行通信协议规定的应用层传输服务,在该传输服务过程中,需要接收应答数据。
3.1.11
发送不带应答的数据 send data with no-acknowledge
实时串行通信协议规定的应用层传输服务,在该传输服务过程中,不需要接收应答数据。
3.1.12
设备 ID device ID
实时串行通信协议规定的用于识别主站或从站设备信息的数据结构。
3.1.13
错误 error
实时串行通信协议通信过程中的异常情况或者通信故障。
GB/T 18473—2016
3.1.14
网络时钟 network clock
运行在同一个实时串行通信总线的主站及从站设备上的高精度计数器,用于周期通信同步计时操
作的参考时钟源。
3.1.15
警告 warning
实时串行通信协议通信过程中对检测到的通信异常情况的一种响应操作,需向系统或及用户提供
异常通信状态,但依然维持当前的通信状态及操作。
下列缩略语适用于本文件。
ACK |
|
|
---|---|---|
AL |
|
|
AP |
|
|
APDU |
|
|
C1MSG |
|
|
C2MSG |
|
|
DA |
|
|
DCE |
|
|
DL |
|
|
DLE |
|
|
DLM |
|
|
DLMS |
|
|
DLPDU |
|
数据链路协议数据单元 |
DLS |
|
|
DLSAP |
|
|
DLSDU |
|
数据链路服务数据单元 |
DTE |
|
|
FAL |
|
|
FCS |
|
|
MSG |
|
|
PDU |
|
|
PhL |
|
|
SAP |
|
|
SDA |
|
|
SDN |
|
|
SDU |
|
|
SRD |
|
|
本标准所规定的实时串行通信协议采用应用层、数据链路层、物理层的三层简化协议模型,支持控
GB/T 18473—2016
制装置、传感器、驱动、I/O
等装置间命令及应答数据交互通信操作,其互联模型如图1所示。
style="width:8.23333in;height:3.33403in" />
style="width:0.1866in;height:0.19998in" />
style="width:0.19336in;height:0.19998in" />
图 1 串行通信协议总线模型
应用层:维护站点间的安全、可靠的数据传输通路,并为运动控制、任务等用户程序提供控制命令与
应答接口。
数据链路层:为应用层提供周期、实时、无差错的数据链路。
物理层:为数据链路层提供基于 RS485 或 ISO/IEC 8802.3
规范的物理连接通道,实现对总线中传
输的电平信号的编码、解码及传输。
串行通信协议协议模型如图2所示。
|
|||
---|---|---|---|
|
|
|
|
|
|||
|
|||
|
|
||
|
|||
|
图 2 串行通信协议协议模型
本标准所规定的实时串行通信协议的周期通信时序如图3所示。
a) 在周期传输中主站首先向各从站发送同步帧。
b)
在完成同步帧发送之后,主站与从站依次进行一次命令和应答数据交换。主站与从站之间的
数据传输间隔由主站控制。
c)
主站与每个从站的命令和应答数据交换结束以后,主站针对通信异常的从站执行重传操作,当
本通信周期内没有从站发生通信异常时,主站不执行重传。
d) 如果总线通信时序中设定为传输 C1、C2
消息,主站在完成重传通信之后,将计算本通信周期
的剩余时间,如果本通信周期内剩余时间允许,将启动C1、C2消息传输,否则C1、C2
消息将延 迟至下一个通信周期发送。
注:图3所示总线通信周期模型以 MECHATROLINK
实时串行通信协议总线通信模型为例。
GB/T 18473—2016
style="width:8.54722in;height:4.70694in" />
图 3 周期通信模型
在事件驱动通信模式下,C1
主站在任意的时间向从站发出事件消息命令,从站在接收到主站的事
件消息后,需在50 ms 内向C1 主站回复应答数据(如图4所示)。
注 : 图 4 所 示 总 线 通 信 周 期 模 型 以 MECHATROLINK
实时串行通信协议总线通信模型为例。
style="width:8.42014in;height:4.00694in" />
style="width:8.42014in;height:4.00694in" />
图 4 事件驱动通信模型
异步通信用于不需要实时通信或周期数据交换的情况。在异步通信过程中,数据帧长度固定为
64字节,因为异步通信不使用同步帧,从站对由主站发送的输出数据的处理和向主站发送输入数据以
从站自己的时序为准(如图5所示)。
注 : 图 5 所 示 总 线 通 信 周 期 模 型 以 MECHATROLINK
实时串行通信协议总线通信模型为例。
GB/T 18473—2016
style="width:9.09339in;height:3.06658in" />主站 CMD #1
从站
通信阶段
RSP
1
CMD
#2
CMD n 1
RSP
#2
命令/响应通信
RSP
n- 1
CMD
#n
RSP
MSG
in
ACK or
MAGn
C1 信息
通信
CMDHn: 命令(输出)数据到n号从站
RSP'n:南n号从站响应(输入)数据
MSG:C1 信息通信
图 5 异步通信模型
本标准所规定的实时串行通信协议物理层模型如图6所示,可采用 RS485
物理层协议或 ISO/IEC 8802.3
物理层协议,为链路层提供物理连接通道,满足主站与从站之间 RS485 或
ISO/IEC 8802.3
信号的编码、解码及传输。
style="width:8.51389in;height:6.57361in" />
style="width:0.24902in;height:0.46021in" />
style="width:0.25405in;height:0.46021in" />
图6 物理层模型
本标准所规定的实时串行通信协议物理层划分为一个数据末端装置(DTE)
和一个数据通信单元 (DCE)。DTE 单元与数据链路层(DL)
实体相连接,为数据链路层提供读写操作通道。数据通信单元
(DCE)
为各个站之间的电平编码信号的发送和接收提供转换操作。介质独立子层(MDS)
通过 DTE-
DCE 规定的接口,通过 MDS-MAU
接口来实现物理层电平信号的编码通信,介质独立子层(MDS) 功能
包括:发送、接收、逻辑编码、解码、增加/删除报头等功能。
GB/T 18473—2016
总线拓扑方式支持线形、星形或点对点连接结构。
应符合 RS485 电气接口协议规范或ISO/IEC8802.3 物理层协议规范。
该信号用于控制 MDS 传送物理层数据到 MAU,
在总线通信过程中,该指示信号设定为1(高电
平),物理层数据被传送到物理介质上。
该信号用于指示从 MAU 传送物理层数据到 MDS。
该接收指示信号指示为1(高电平),则表示接
收到有效通信数据信号。
应采用符合国际或国家标准的接插单元,附录A
给出了信号及机械接口示例。连接器的进一步要
求可参考 IEC61158-2-24:2014 物理层及连接器要求。
总线通信电缆电磁兼容应符合 GB/T 17626.2—2006、GB/T 17626.4—2008、GB/T
17626.5—
2008、GB/T 17626.11—2008 的要求。
数据链路层实现应用层与物理层之间数据交互,完成应用层到物理层传输的数据帧之间的转换及
对各个站点的寻址和地址管理,实现点到点的可靠数据传输。本标准所规定的实时串行通信协议数据
链路层由3个子层组成,包括:周期通信控制(CTC), 发送接收控制(SRC)
和数据链路管理(DLM) 子
层,如图7所示。
周期通信控制子层(CTC): 包括周期传输协议机及非周期传输协议机,用于实现
C1 主站、C2 主站
及从站之间的周期传输通信及非周期传输通信管理。
发送接收控制子层(SRC): 通过串并转换器,将 CTC
子层待发送数据转换成物理层可识别的串行
数据串,此外将物理层接收到的串行数据串转换成CTC
子层可使用的数据链路层数据帧结构。
数据链路管理子层(DLM): 用于维护及管理数据链路层通信状态。
GB/T 18473—2016
style="width:8.34028in;height:6.02708in" />
图 7 数据链路层模型
数据链路层服务向应用层提供标准的服务访问接口,包括写数据服务、读数据服务、发送带应答的
数据服务(SDA)、 发送非应答数据(SDN)、
周期时间服务、获取状态服务,数据链路层服务原语和参数
表如表1所示。
表 1 数据链路层服务原语和参数表
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
||
|
|
||
|
|
|
|
此服务用于在周期通信过程中传输数据链路层数据单元(DLSDU)
数据。在周期传输过程中,主站
通过调用该服务将数据链路层数据单元(DLSDU)
注:图8所示总线通信服务原语以 MECHATROLINK
GB/T 18473—2016
发送到从站数据链路层单元(DLE) 中,见图8。
实时串行通信协议总线通信服务模型为例。
style="width:10.66012in;height:7.86016in" />数据链路层-
用户
数据链路层单元
(Cl 主站)
数据链路层单元
(1号从站)
数据链路层-
用户
数据链路层单元
(n号从站)
数据链路层-
用 户
DL-WRITE DATA.req
(SAP ID),DLSDU)
DL-WRITE-I)ATA,cnf
(Rcsult)
DL-EVENT.ind
(Event ID)
DL-WRITE-DATA.req
(SAP ID),DL.SDUJ
DL-WRTTE-DATA.cnf
(Result)
— DL-WRITE-DA'TA.reg
(SAP ID,DLSDU)
DL-WRITE-DATA.cnf
(Result)
(DIPDU(1)
(DLPDU#1)
…
(DLPDUJ #n)
(DLPDUJ#n)
DL-EVENT,ind
(Event ID)
DL-READ-DATA.req
(SAP ID)
DL-READ-DATA.cnf
(Result,DLSDU)\|
DL-WRITE-DATA.req
(SAP ID,DLSDU)\|
DL-WRITE-DATA.cnf
(Result)
DL-EVENT.ind
(Event ID)
DL. READ DATA,rcq
(SAP ID)
DL-READ-DATA.cnf
(Result.DI.SDUJ)
DL-WRITE-DATA.req
(SAP ID.DLSDU)
DI-WRITE-DATA.cnf
(Rcsult)
DL-EVENT.ind
(Event ID)
DL READ) DATA,req
(SAP ID)
DL-READ-DATA.cnf
(Result,DL.SDUJ)
DL-WRITE-DATA.req
(SAP JD,DLSDU)
DL-WRITE-DATA cnf
(Result)
图 8 写 数 据 服 务 原 语
该服务被用于在周期通信过程中接收数据链路层数据单元(DLSDU)
数据。在周期传输过程中,从 站通过调用该服务将数据链路层数据单元(DLSDU)
发送到主站数据链路层单元(DLE) 中。主站的数
据 链 路 层 仅 仅 保 留 最 新 数 据 链 路 层 数 据 单 元(DLSDU)
数据,见图9。
注:图9所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。
GB/T 18473—2016
|
|
|
|
---|
DI.-WRITF-DATA.req (SAP ID,DLSDUJ)
DL-WRITE-DATA.cnf (Result)
DL ZVENT,ind
(Event ID) (1号数据链路协议数据单元)
数据链路层单元
(n号从站)
DI.-WRITE-DATA.req
(SAP D,DLSDU)
DL-WRITE-DATA.cnf
(Resull)
(1号数据链路协议数据单元 )
(n 号数据链略协汉数据单元
(n号数据链路协议数据单元)
DI-EVENT,ind
(Evenl ID)
DL-READ-DATA.rcq
(SAP ID)
DL READ DATA.cnf
(Result,DLSDU)
DL-WRITE-DAIA.req
(SAP ID,DLSDU)
DI-WRITE-DATA.cnf
(Result)
DI-EVENT,ind
(Event ID)
DL-READ-DATA.Icq
(SAP ID)
DL READ DATA.cnf
(Result,DLSDU)
DL-WRITE-DATA.req
(SAP ID,DI.SDU)
DI-WRITE-DATA cnf
(Result)
DI-EVENT,ind
(Event ID)
DL-READ-DATA.rcq
(SAP ID)
DL READ DAIA.enf
(Result,DLSDUJ)
DL-WRITE-DATA.reo
(SAP ID,DLSDU)
DL-WRITE-I)ATA,cnf
(Result)
图 9 读数据服务原语
该服务用于在周期通信过程中的消息通信数据交换。该服务允许主站或从站发送数据链路层数据
单元(DLSDU)
数据到指定的主站或从站。如果待发送的数据大于数据链路层数据单元(DLSDU)
允许
的最大数据封装长度,执行发送操作的主站或从站应将待发送的数据进行分割,并封装到连续的数据链
路层数据单元(DLSDU)
中,数据接收方在接收到该连续的数据链路层数据单元(DLSDU) 后,进行重新
组装,恢复成完整的消息通信数据,见图10。
注:图10所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。
GB/T 18473—2016
style="width:7.27997in;height:6.31334in" />
图10 发送带应答服务的数据服务原语
5.8.5 发送不带应答服务的数据服务
该服务用于在非周期通信过程中的命令、应答数据以及消息数据的通信,见图11。
注:图11所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。
style="width:7.34722in;height:5.92708in" />
图11 发送不带应答服务的数据服务原语
非周期消息数据通信过程中,数据发送方通过该服务来通知数据接收方消息通信的通信状态,见
图 1 2 。
注 :图12所示总线通信服务原语以 MECHATROLINK
实时串行通信协议总线通信服务模型为例。
GB/T 18473—2016
style="width:4.17342in;height:2.3133in" />数据链路层单元
数据链路层-用户
DL-EVENT.ind
(Event ID)
图12 事件服务原语
本标准所规定的实时串行通信协议数据链路层基本帧结构如图13所示。
|
|
|
|
|
|
|
|
|
|
---|
55bit 8bit 15bit 15hit 15hit 4bit 12bit n bit 32bit 96bit
图13 实时串行通信协议帧格式
5.9.2.1 起始帧分隔符
起始帧分隔符用于指示一个数据帧的开始位置。
起始帧分隔符定义如下:
"10101011"。
5.9.2.2 目的地址
目的地址定义了数据接收方站地址信息,如下表所示。目的地址信息占用16位长度,其中高8位
用于定义数据接收方扩展站地址,低8位用于定义数据接收方站地址。扩展站地址及站地址含义如表
2、表3及表4所示。
表 2 目的地址和目的地址格式
|
|
|
---|---|---|
|
|
|
|
|
|
表 3 站地址
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 18473—2016
表4 扩展地址
|
|
---|---|
|
|
|
|
|
5.9.2.3 源地址
源地址定义了数据发送方站地址信息,如下表所示。源地址信息占用16位长度,其中高8位用于
定义数据发送方扩展站地址,低8位用于定义发送方站地址。扩展站地址及站地址含义如表5所示。
表 5 源地址和源地址格式
|
|
|
---|---|---|
|
|
|
|
|
|
5.9.2.4 消息控制字
消息控制字用于消息通信中使用。该控制字仅当数据帧类型为消息帧时有效。除消息帧以外,该
控制字应为0。表6为发送数据帧中的消息控制字格式定义,表7、表8为数据接收帧中的消息控制字
格式定义。
表6 消息控制字格式(信息传输格式)
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表 7 消息控制字格式(管理消息格式)
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
GB/T 18473—2016
表 8 消息控制字格式(管理指示开关)
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.9.2.5 类型和长度字
帧类型和数据长度字格式如表9所示。帧类型用于识别一个帧的内容,也用于识别消息通信协议
的类型。表10给出帧类型定义。
表 9 帧类型和数据长度字格式
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
表10 帧类型列表
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.9.3.1 概述
数据链路层数据帧包含3位的 CRC-CCITT
校验位。该校验位的计算从目的地址开始到数据内容
结束为止,不包括校验位本身。
GB/T 18473—2016
5.9.3.2 同步帧
C1 主站用该帧来同步从站及C2 主站。仅 C1
主站能发送同步帧。在发送同步帧过程中,C1 主站
需设置站地址为广播地址(0xFF)。
当从站和C2
主站接收到该同步帧,通过读取时间戳重新计算同步延时,并使用该同步延时数据更
新本地同步时钟。同步帧数据格式见表11,同步帧字列表见表12。
数据同步示例见附录 B。
表11 同步帧数据格式
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
表12 同步帧字列表
|
|
|
|
|
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
5.9.3.3 用户数据帧
该数据帧用于周期通信过程中主站与从站之间的用户数据交换。 C1
主站通过该数据帧向从站发 送命令数据,从站在接收到由 C1
主站发送的用户数据帧后,需向 C1 主站应答一帧数据帧。 C2 主站作
为监听主站,仅接收该数据帧,不做任何应答操作。用户数据帧格式定义见表13,用户数据帧定义见
表14。
表13 用户数据帧格式
|
|
|
---|---|---|
|
|
|
|
|
|
表14 用户数据帧定义
|
|
|
|
|
---|---|---|---|---|
|
|
|
||
|
|
|
GB/T 18473—2016
5.9.3.4 延时测量启动帧
该数据帧用于启动 C1 主站延时与目标从站或 C2
主站之间的传输延时。该数据帧由C1 主站发 出,指定的从站或C2
主站接收该数据帧后,将启动延时测量操作。执行延时测量操作的次数由延时测
量帧中测量次数字段指定。延时测量启动帧格式见表15,延时测量启动帧定义见表16。
表15 延时测量启动帧格式
|
|
|
---|---|---|
|
|
|
|
|
|
表16 延时测量启动帧定义
|
|
|
|
|
---|---|---|---|---|
|
|
|
|
5.9.3.5 延时测量帧
C1 主站用该数据帧接收从站或C2 主站反馈的时间戳数据,此外,C1
主站将计算出的传输延时结 果通过该数据帧发送给指定的从站或C2
主站。该数据帧由 C1 主站发起传输,发送该数据帧的次数由
延时测量启动帧测量次数字段定义。从站或者 C2
主站在接收到该数据帧后必须做出应答,否则 C1 主 站认为与该从站或C2
主站通信发生故障。延时测量帧格式见表17,延时测量帧定义见表18。进一步
有关通信周期内时隙分配及计算要求见 IEC61158-3-24:2014 及 IEC
61158-4-24:2014。
表17 延时测量帧格式
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
表18 延时测量帧定义
|
|
|
|
|
---|---|---|---|---|
|
|
|
|
5.9.3.6 消息令牌帧
在消息通信启动时,C1 主站发送该数据帧通知从站或 C2
主站启动消息通信操作。从站或者 C2
主站在接收该数据帧后才可以启动消息通信。该数据帧由 C1 主站发送。
GB/T 18473—2016
5.9.3.7 状态帧
C1 主站用该数据帧查询从站或 C2 主站的状态。从站或C2
主站在接收到该数据帧后,应向主站
发送包含状态应答信息的状态帧。状态帧数据格式见表19,状态帧字表见表20,状态表见表21,中继
器状态表见表22。
注:广播地址或者多路广播地址不能作为该数据帧的目的地址。
表19 状态帧数据格式
|
|
|
---|---|---|
|
|
|
|
|
|
表20 状态帧字表
|
|
|
|
|
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
表21 状态表
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表22 中继器状态表
|
|||
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 18473—2016
5.9.3.8 周期信息帧
C1 主站用该数据帧启动周期通信,该数据帧由 C1 主站发出。 C1
主站可以采用广播或站对站方式 向从站或者 C2 主站发送。从站或C2
主站在接收到对应的周期信息帧后应返回一个状态帧。周期信
息帧数据格式见表23,周期信息帧字列表见表24。
表23 周期信息帧数据格式
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表24 周期信息帧字列表
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0:10 ns
1:100 ns
|
5.9.3.9 消息帧
这个帧用于主站与从站之间的消息信息传输。所有站均可发送该数据帧。消息帧格式见表25,消
息帧定义见表26。
表25 消息帧格式
|
|
|
---|---|---|
|
|
|
|
|
|
GB/T 18473—2016
表26 消息帧定义
|
|
|
|
|
---|---|---|---|---|
|
|
|
||
|
|
|
应用层为用户提供传输服务及数据安全支持,并实现用户层与数据链路层之间的数据交互。本标
准依据 IEC 61158-5-24:2014、IEC61158-6-24:2014
给出的应用层服务及协议接口模型,规定了应用层
模型、服务及协议接口要求。
应用层由传输服务、应用层数据单元、传输状态机组成,应用层结构模型如图14所示。传输服务为
用户提供数据传输、消息传输、事件管理、监视服务及传输管理服务等,状态机管理应用层的运行状态并
控制传输,应用层以应用层数据单元实现与链路层数据交换。附录 C
给出了应用层过程单元的具体
示例。
style="width:8.24722in;height:5.67361in" />
图14 应用层模型
C1 主站的总线通信状态机状态转换图15所示。在从站上电后,C1
主站执行设备检测和延时测量
GB/T 18473—2016
等操作,之后C1 主站开始与正常完成初始化的从站通信,当开始通信时,C1
主站选择周期通信或者事
件驱动通信。总线通信状态机模型见图15。
注: 图15所示总线通信状态机模型以 MECHATROLINK
实时串行通信协议总线通信状态机为例。
style="width:9.70694in;height:7.77361in" />
图15 C1 主站通信状态机
C2 主站的总线通信状态机状态转换图如图16所示。在上电后,C2 主站接收从 C1
主站发送的延 时检测等检测命令数据,并进行响应。在完成初始化后,C2
主站处于C1 主站的命令等待状态。总线通
信状态机模型见图16。
注:图16所示总线通信状态机模型以 MECHATROLINK
实时串行通信协议总线通信状态机为例。
GB/T 18473—2016
style="width:9.42014in;height:7.38056in" />
style="width:9.42014in;height:7.38056in" />
图16 C2 主站通信状态机
本标准所规定的实时串行通信协议从站总线通信状态机如图17所示。在完成初始化后,从站开始
执行初始化操作,在连接命令中由同步设定命令执行转入同步通信动作。
style="width:10.63337in;height:7.11326in" />P0/上电
P1/初始化
连接(通信)
连接
(同步通信)
从站掉电
P2/异步通信状态
从站通信停止进程
同步设定 通信错误
P3/同步通信状态
断开
断开
P2/ 异步状态
仅异步命令能被使用
P3/同步状态
异步和同步命令能被使用
P4/停止通信
主站抑电
P5/下电
P0;Phase
P1:Phase
P2:Phasc
P3:Phasc
P4:Phasc
P5:Phase
0
1
2
3
4
5
图17 从站通信状态机
GB/T 18473—2016
应用层数据单元包括命令数据结构与应答数据结构,其中命令格式由命令号及命令参数两部分组
成,具体数据结构见图18。
|
|
|
---|---|---|
|
||
|
|
|
|
|
图18 命令数据结构
应答数据格式由命令号、告警/故障号、应答状态及应答数据组成,其中命令号表示针对某一命令的
应答,告警/故障号为命令执行所产生的告警,应答状态为命令的返回状态,具体数据结构见图19。
|
|
|
|
---|---|---|---|
|
|
|
|
图19 应答数据结构
告警号与具体装置相关,由用户定义。
应答状态的数据结构见图20。
|
|
|
|
---|---|---|---|
|
|
|
|
|
|||
|
图20 应答状态数据结构
bit0:故障位,1:发生故障,0:未发生故障;
bit1:告警位,1:发生告警,0:未发生告警;
bit2:就绪位,1:可接受命令,0:不能接受命令。
6.5.1.1 FSM-Reset
服务名称:FSM-Reset
服务功能描述:此服务用于复位通信状态机状态,通过该服务复位主站或从站应用层状态机的所有
通信状态。
6.5.1.2 FSM-GetStatus
服务名称:FSM-GetStatus
服务功能描述:此服务用于获取系统错误等状态。
服务参数:INFO-ID、Service status、INFO-ID、INFO-DATA、Service
status。
GB/T 18473—2016
6.5.1.3 FSM-SetContext
服务名称:FSM-SetContext
服务功能描述:此服务用于设定现场总线系统的通信参数及属性。通信参数等信息包含在
CON- TEXT-DATA
中,并且通过该服务被传递到所有应用层所有相关的数据控制寄存器中。数据链路层、
物理层依靠该服务提供的参数信息初始化总线通信。
服务参数:CONTEXT-DATA、Service status、CONTEXT-DATA、Service status。
6.5.1.4 FSM-GetContext
服务名称:FSM-GetContext
服务功能描述:此服务用于得到现场总线系统的通信参数及属性。通信参数等信息由
CONTEXT-DATA 返回。
服务参数:CONTEXT-DATA、Service status、Service status。
6.5.1.5 FSM-Start
服务名称:FSM-Start
服务功能描述:此服务用于激活指定的主站或从站的通信服务状态机。该服务被调用执行后,将同
时启动与通信服务状态机相关的数据链路层服务及物理层电路功能单元。
6.5.2.1 FDC-Reset
服务名称:FDC-Reset
服务功能描述:FDC-Reset 服务用于复位总线通信状态。
6.5.2.2 FDC-Open
服务名称:FDC-Open
服务功能描述:FDC-Open
服务用于初始化指定的总线通信状态,但不启动该通信状态。
服务参数:AREPID、Service status、Service status。
6.5.2.3 FDC-Enable
服务名称:FDC-Enable
服务功能描述:FDC-Enable 服务用于激活指定的总线通信状态。
服务参数:TransmissionMode。
6.5.2.4 FDC-Connect
服务名称:FDC-Connect
服务功能描述:FDC-Connect 服务用于激活周期通信服务。
服务参数: Update、CONNECT-CMD-SDU、Service status、Communication
status、Progress
status 、RSP-SDU 、Service status。
6.5.2.5 FDC-SyneSet
服务名称:FDC-SyncSet
GB/T 18473—2016
服务功能描述:FDC-SyncSet
服务用于将总线的异步通信状态转换到同步通信状态。
服务参数: Update、SYNC SET-CMD-SDU、Service status 、Communication
status、Progress
status 、RSP-SDU 、Service status。
6.5.2.6 FDC-Disconnect
服务名称:FDC-Disconnect
服务功能描述:FDC-Disconnect 服务被用于停止当前的同步通信连接。
服务参数:Update、DISCONNECT-CMD-SDU。
6.5.2.7 FDC-ResumeCycle
服务名称:FDC-ResumeCycle
服务功能描述:FDC-ResumeCycle
服务用于更新总线连接设备的通信属性,并在更新通信属性后
执行FDC-Disconnect 及 FDC-connect 服务。
6.5.2.8 FDC-ComCycle
服务名称:FDC-ComCycle
服务功能描述:FDC-ComCycle
服务用于在周期通信时,执行主站与从站之间的事件通信操作。
服务参数:NetworkClock。
6.5.2.9 FDC-Command
服务名称:FDC-Command
服务功能描述:FDC-Command
服务执行后,将完成主站向从站发送命令数据,并接收由从站发送
的应答数据。
服务参数:Update、CMD-SDU、Service status、Communication
status、Progress status、RSP-SDU、
Service status。
6.5.2.10 FDC-DataExchange
服务名称:FDC-DataExchange
服务功能描述:FDC-DataExchange
服务完成从站与主站之间命令数据接收及响应数据的发送。
服务参数:RSP-SDU、CMD-SDU。
6.5.3.1 FDC-Reset
服务名称:FDC-Reset
服务功能描述:FDC-Reset 服务用于复位监视从站的通信状态。
6.5.3.2 FDC-Open
服务名称:FDC-Open
服务功能描述:DC-Open 服务用于初始化监视从站的通信状态。
服务参数:AREPIDList、Service status、Service status。
6.5.3.3 FDC-Enable
服务名称:FDC-Enable
GB/T 18473—2016
服务功能描述:FDC-Enable 服务用于激活监视从站的当前通信状态。
服务参数:TransmissionMode。
6.5.3.4 FDC-GetCMD
服务名称:FDC-GetCMD
服务功能描述:FDC-GetCMD
服务用于获取接收到的指定被监视从站的命令数据信息。
服务参数:APID、Service status、Communication mode、CMD-SDU、Service
status。
6.5.3.5 FDC-GetRSP
服务名称:FDC-GetRSP
服务功能描述:FDC-GetRSP
服务用于获取接收到的指定被监视从站的应答数据信息。
服务参数:APID、Service status、Communication mode、RSP-SDU、Service
status。
6.5.4.1 MSG-Reset
服务名称:MSG-Reset
服务功能描述:MSG-Reset 服务用于复位消息通信服务状态。
6.5.4.2 MSG-Open
服务名称:MSG-Open
服务功能描述:MSG-Open
服务用于启动消息传输服务状态,但不启动消息服务通信操作。
服务参数:AREPID、Service status、Service status。
6.5.4.3 MSG-Enable
服务名称:MSG-Enable
服务功能描述:MSG-Enable 服务用于启动消息传输服务。
6.5.4.4 MSG-UserMessage
服务名称:MSG-UserMessage
服务功能描述:此参数用于在消息传输服务状态下,发送和接收消息通信数据,该服务执行后,如果
没有接收到应答消息,将认为该次消息通信服务发生错误。
服务参数:TID、SPID、DPID、Length、MSGReq-SDU、Service
status、TID、SPID、Length、MSGReq-
SDU 、Service status 、TID 、SPID。
6.5.4.5 MSG-OnewayMessage
服务名称:MSG-OnewayMessage
服务功能描述:此服务用于在消息传输服务状态下,发送消息通信数据数据到指定从站,接收该消
息的从站不需要发送响应信息。
服务参数:TID、SPID、DPID、Length、MSGReq-SDU、Service
status、TID、SPID、Service status、
TID 、SPID。
6.5.4.6 MSG-AbortTransaction
服务名称:MSG-AbortTransaction
GB/T 18473—2016
服务功能描述:此服务用于取消当前的消息传输服务操作。
服务参数:TID。
6.5.5.1 EVM-Reset
服务名称:EVM-Reset
服务功能描述:EVM-Reset
服务用于在总线初始化过程中,复位和保持目前的总线通信状态。
6.5.5.2 EVM-Enable
服务名称:EVM-Enable
服务功能描述:EVM-Enable
服务用于在总线初始化过程中,激活总线通信状态,该状态用于总线
初始化过程中,主站对从站通信参数的配置传输。
6.5.5.3 EVM-SyncEvent
服务名称:EVM-SyncEvent
服务功能描述:此服务用于在总线初始化过程中,启动同步时钟配置服务。
服务参数:NetClock。
6.5.5.4 EVM-ReadNetClock
服务名称:EVM-ReadNetClock
服务功能描述:此服务用于在总线初始化过程中,读取从站的同步时钟信息。
服务参数:Service status、NetClock、Service status。
6.5.5.5 EVM-WriteNetClock
服务名称:EVM-ReadNetClock
服务功能描述:此服务用于在总线初始化过程中,配置从站的同步时钟参数。
服务参数:Service status、NetClock、Service status。
6.5.6.1 AR-Reset
服务名称:AR-Reset
服务功能描述:AR-Reset 服务用于复位周期通信状态。
6.5.6.2 AR-Open
服务名称:AR-Open
服务功能描述:AR-Open
服务被用启动并进入周期通信状态,但并不执行周期通信操作。
服务参数:DLSAPID、FDCSAPID、Service status、Service status。
6.5.6.3 AR-Enable
服务名称:AR-Enable
服务功能描述:AR-Enable 服务用于激活周期通信状态,并执行周期通信操作。
服务参数:TransmissionMode。
GB/T 18473—2016
6.5.6.4 AR-CycleEvent
服务名称:AR-CycleEvent
服务功能描述:此服务用于在在周期通信状态下,向从站发送同步指令,该服务将调用数据链路层
的同步处理操作,实现在每个周期发送同步启动数据帧。
服务参数:NetworkClock。
6.5.6.5 AR-StartComCycle
服务名称:AR-StartComCycle
服务功能描述:此服务用于在周期通信状态下,启动周期通信操作,该操作执行后将能够进行周期
通信下的命令数据发送及应答数据的接收。
服务参数:ComTime、DTMode、CMDForm。
6.5.6.6 AR-StartComCycle
服务名称:AR-ResetCycle
服务功能描述:此服务用于在周期通信状态下,停止并重新启动目前的周期通信操作。
6.5.6.7 AR-SendCommand
服务名称:AR-SendCommand
服务功能描述:此参数用于在周期通信状态下,发送控制命令数据。
服务参数:CMD-SDU、Service status、RSP-SDU、Service status。
6.5.6.8 AR-GetCMD
服务名称:AR-GetCMDt
服务功能描述:AR-GetCMD
服务用于在周期通信状态下,获取指定从站当前执行的命令数据。
服务参数:APID、Service Status、CMD-SDU、Service Status。
6.5.6.9 AR-GetRSP
服务名称:AR-GetRSP
服务功能描述:AR-GetCMD
服务用于在周期通信状态下,从站返回指定的应答数据。
服务参数:APID、Service Status、RSP-SDU、Service Status。
6.5.6.10 AR-SendMessage
服务名称:AR-SendMessage
服务功能描述:此服务用于在周期通信状态下,发送一个消息通信数据。
服务参数:NetworkClock。
6.5.6.11 AR-ReceiveMessage
服务名称:AR-ReceiveMessage
服务功能描述:此服务用于在周期通信状态下,接收消息通信数据。
服务参数:SPID、MaxLength、Service
status、SPID、Length、MSGService-SDU、Service status。
6.5.6.12 AR-AbortMessage
服务名称:AR-AbortMessage
GB/T 18473—2016
服务功能描述:此服务用于终止当前周期通信的数据传输操作。
本标准所规定的实时串行通信协议支持基于安全通信层的总线安全通信协议扩展,其安全总线模
型如图21所示。在该模型中现场总线能够同时接入标准的 NC、
伺服驱动、主轴驱动、变频器、PLC、I/ O
单元等设备,也可以同时接入基于安全通信层协议扩展的安全伺服、安全主轴驱动、安全
PLC、 安全 I/O
等设备。在本标准所规定的实时串行通信协议安全总线中,标准从站设备之间或安全从站设备之
间能够支持标准的本标准所规定的实时串行通信协议协议的互联,但是无法实现安全通信操作。安全
从站设备之间能够实现基于安全通信层的总线安全通信控制。
注:图21所示安全总线模型以 MECHATROLINK 实时串行安全通信协议模型为例。
style="width:10.55329in;height:2.54012in" />控制器NC
申行通信总线
安全串行通信总线
伺服驱劝器
变频器
步进屯机系
动 器
PLC
J/(
安全句服
安全变航器
安全少进电
机驱动器
安全PLC
安全J/o
伺服电机感应电机步进电机
开关、非电器、电
磁阀、转感器等
伺服电机感应电机步进电机
万关、继中落、中
磁阀、体密等等
图21 安全总线模型
本标准所规定的实时串行通信协议安全通信协议模型如图22所示,总线安全通信协议拓扑结构见
图23所示。在该安全通信协议模型中,包含 A 和 B
两个处理通道。这两个通道互为补充,实现对接收
到的命令进行交叉校验,以实现总线安全。具体操作包括:当从站接收到一个安全协议消息时,通道
A
从本标准所规定的实时串行通信协议应用层传递接收到的消息到自己通道的安全通信层,并且同时传
递该消息到通道 B。
安全协议进程在每个通道分别进行处理,并且处理结果在两个通道都被验证相匹
配时,每个通道的本标准所规定的实时串行通信协议安全通信层将传递一个安全数据到对应通道的安
全应用层。
GB/T 18473—2016
style="width:8.74002in;height:7.48in" />安全应用
安全
通讯层
串行通信协议应用层
串行通信协议链路层
串行通信协议物理层
通道A 通 道 B
图22 安全通信协议结构模型
style="width:10.03333in;height:5.22083in" />
style="width:0.33339in;height:0.33352in" />
style="width:0.39994in;height:0.34012in" />
style="width:10.03333in;height:5.22083in" />
图23 总线安全通信协议拓扑结构图
当总线通信中检测到总线发生错误后,将停止目前执行的命令,并不允许总线上主站及任意的从站
执行通信状态改变等操作。只有当消除错误并重新执行总线状态初始化之后,总线才能够恢复正常通
信状态。
GB/T 18473—2016
本标准所规定的实时串行通信协议总线支持的可识别的总线错误包括如下:
a) 通信错误;
b) 看门狗计数器错误;
c) 周期同步异常;
d) 响应超时;
e) 非法同步命令。
当发生响应超时错误或 FCS
校验连续错误次数超过阈值后,将触发该报警。如果发生该错误报警
时总线当前在同步通信状态,将进入异步通信状态;如果发生该错误报警时总线当前在异步通信状态,
将放弃当前执行的命令。
在周期通信过程中,如果主站与从站的看门狗计数器未按照约定的顺序更新,或者更新的看门狗计
数值错误,则触发该错误报警。当从站连续检测到两次看门狗计数器错误,它将进入异步通信状态,之
后不再接收执行同步命令。
在周期通信过程中,通过测量传输周期时间检测到与主站或从站配置的传输周期时间差别超过阈
值时,触发该报警。该报警发生后,总线将进入异步通信状态。
总线在周期通信或需要应答的消息通信过程中,主站在向指定从站发送命令数据帧后,未在预定义
的通信响应阈值时间内接收到该从站的应答数据帧。主站将在向系统发送的数据响应
APDU 中标记
相应的响应超时报警信息位。
在非周期通信过程中,从站接收到同步命令数据帧所引发的通信错误。发生该错误的从站将不执
行该同步命令,并向用户发送该错误报警信息。
style="width:3.08672in;height:3.1999in" />class="anchor">GB/T 18473—2016
(资料性附录)
物理层连接器
A.1 概 述
本附录给出了本标准所规定的实时串行通信协议物理层连接器机械结构及一般要求。
注:以 MECHATROLINK 实时串行通信协议为例。
A.1.1 设备连接器(RS485 物 理 层 )
采用 RS485
物理层的本标准所规定的实时串行通信协议的物理层设备连接器如图 A.1 及图
A.2
所示。连接器的进一步要求可参考 IEC61158-2-24:2014 物理层及连接器要求。
单位为毫米
style="width:4.59334in;height:6.46668in" />
图 A.1 设备连接器 A(RS485 物理层)
GB/T 18473—2016
style="width:2.73335in;height:3.37986in" />
style="width:2.88675in;height:2.26666in" />
style="width:3.05998in;height:3.31342in" />
单位为毫米
图 A.2 设备连接器 B(RS485 物理层)
A.1.2 电线连接器(RS485 物理层)
采 用 RS485 物理层的本标准所规定的实时串行通信协议电缆连接器如图 A.3
所 示 。
单位为毫米
style="width:6.13332in;height:1.37984in" />
style="width:7.26015in;height:2.99332in" />
图 A.3 电缆连接器(RS485 物理层)
A.1.3 设备连接器(ISO/IEC 8802.3 物理层)
采 用 ISO/IEC 8802.3
物理层的本标准所规定的实时串行通信协议总线连接器如图 A.4 所示。
GB/T 18473—2016
单位为毫米
style="width:7.95336in;height:6.51332in" />
图 A.4 设备连接器(ISO/IEC 8802.3 物理层)
A.1.4 电线连接器(ISO/IEC 8802.3 物 理 层 )
采 用 ISO/IEC8802.3
物理层的本标准所规定的实时串行通信协议线缆连接器如图 A.5 所 示 。
单位为毫米
style="width:8.97996in;height:3.78004in" />
图 A.5 电缆连接器(ISO/IEC 8802.3 物 理 层
)
GB/T 18473—2016
(资料性附录)
数据链路层
B.1 数 据 类 型 及 编 码
B.1.1 位 元 Bit
最小的内存存储单位,取值包括"0”和“1"两种。
注:本标准中以"b"为位元单位的缩写,即1b表示1个位元(1Bit)。
B.1.2 字节 Byte
每8个bit构成1字节 Byte。
注:本标准中以“B”为字节单位的缩写,即1B 表示1个字节(1Byte)。
B.1.3 八 位 位 组 Oct
每8个bit构成1个八位位组。
注:本标准中以"1 oct"或者"1 oct"表示1个八位位组。
B.1.4 布 尔 变 量 Boolean
规定布尔变量取值为0、以及非0,存储空间可以是任意长度,其中“0”表示假逻辑,非零数据表示真
逻辑。
B.1.5 整数 Integer
带有符号的整型数。可以使用8 Bits、16 Bits、32 Bits、64 Bits
等多种方式进行存储。其中最高位
为符号位。
整数取值范围:
8 Bits -128~127
16 Bits -32768~32767
32 Bits -231~231-1
64 Bits -263~263-1 整数编码方式如图 B.1 所 示 。
style="width:1.23994in;height:0.6534in" />class="anchor">GB/T 18473—2016
Integer8
MSB LSB
S val
Integer16
MSB
1514
LSB
0
|
|
---|
octetl octet0
MSB
Integer 32
LSB
style="width:4.83333in;height:1.11389in" />
Integer64
MSB
style="width:9.63321in;height:1.26016in" />
图 B.1 整数编码方式
本标准中,以8 Bits、16 Bits、32 Bits、64 Bits存储的有符号整型数以 Int
xx表示。
B.1.6 无符号整数 Unsigned integer
不带有符号的整型数。可以使用8 Bits、16 Bits、32 Bits、64 Bits
等多种方式进行存储。
无符号整数取值范围:
8 Bits 0~255
16 Bits 0~65535
32 Bits 0~232-1
64 Bits 0~2⁶4-1
无符号整数编码方式如图 B.2 所示。
GB/T 18473—2016
Unsigned 8
MSB LSB
| |
|-----|
| |
Unsigned 16
style="width:2.53322in;height:1.19328in" />MSB
Unsigned32
style="width:4.72in;height:1.26654in" />MSB
Unsigned 64
style="width:9.13125in;height:1.22153in" />
图 B.2 无符号整数编码方式
本标准中,以8 Bits 、16 Bits 、32 Bits 、64 Bits 存储的无符号整型数以
Unsigned xx 表示:
8 Bits 整型数 Unsigned8
16 Bits 整型数 Unsigned16
32 Bits 整型数 Unsigned32
64 Bits 整型数 Unsigned64
B. 1.7 浮 点 数 Float
浮点数定义及编码方式参见GB/T16262. 1—2006。
Float32 类型的数据编码方式如图 B.3 所 示 ,Float32
float32=(- 1)'×c32×2's2
C3₂=(1×2²³+Fractions₂)×2-23
style="width:2.90658in;height:0.61336in" />
932=Exp₃2— 127
本标准中,以 float 或 者 Float 表示浮点数。
类型的浮点数据应通过使用下面公式来计算:
style="width:6.03333in;height:1.88056in" />
图 B.3 浮 点 数(Float32) 编码方式
Float64 类型的数据编码方式如图 B.4 所 示 ,Float64
类型的浮点数据应通过使用下面公式来计算:
float64=(- 1)⁵×c64×2'
class="anchor">c64=(1×2⁵2+Fractions₄)×2-52
style="width:2.87999in;height:0.61996in" />
q₆4=Exp₆- 1023
Float64
MSB
63 62 52 51
GB/T 18473—2016
L.SB
0
|
|
|
---|
lbit 11bits 52bits
图 B.4 浮点数(Float64) 编码方式
B. 1.8 位串类型 bit string
位串类型数据结构如图 B.5
所示。位串类型数据在总线传输过程中,规定由最低位至最高位的方
式串行传输。
style="width:3.46007in;height:2.0867in" />
BitField1 type
style="width:9.08056in;height:1.85347in" />
图 B.5 位串编码方式
B. 1.9 序列串类型 sequence string
序列串类型数据结构如图 B.6
所示。位串类型数据在总线传输过程中,规定由最低位至最高位的
方式串行传输。
style="width:2.42671in" />
style="width:9.95338in" />
style="width:2.41334in" />GB/T 18473—2016
|
---|
BitField2 type
MSB
bit# 15
1
LSB
0
|
|
|
|
|
|
|
---|---|---|---|---|---|---|
oclell
图 B.6 序 列 串 编 码 方 式
oclel0
B.1.10 八位位组串类型 octet string
八位位组串数据结构如图B.7所示。在总线传输过程中,规定由最低位至最高位的方式串行传输。
style="width:5.70694in;height:5.41389in" />
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
图 B.7 八位位组串编码方式
B.2 通信周期内时隙分配及计算
周期通信时,每个通信周期(如图 B.8)
内可以分为同步数据帧发送时隙、周期数据通信时隙、重传
GB/T 18473—2016
时隙、消息通信时隙等几个部分。其中重传时隙、消息通信时隙根据总线通信的具体配置执行。进一步
有关通信周期内时隙分配及计算要求可参考 IEC61158-3-24:2014 及 IEC
61158-4-24:2014。
注:以 MECHATROLINK 实时串行通信协议为例。
style="width:9.22666in;height:6.46668in" />
SYN |
|
|
|
|
---|
图 B.8 通信周期内时隙分配示意图
传输周期 Tcycle 计算如下公式所示:
Tele=Tsm+T 。+Tretry+Tcimg+Tc₂msg
规定:
Tsymc: 同步数据帧发送时隙
T 。: 周期数据通信时隙
T retey: 重传时隙
Tcimsg: C1 消息通信时隙
Tc₂msg: C2 消息通信时隙
上面提到的带宽的计算方法如下所示。
a) 同步数据帧发送时隙
同步数据帧发送时隙 Tm 计算如下:T, 是同步帧的传输时间,T
是帧之间的间隔:
Tyme=Tu,+Tgap
b) 周期数据通信时隙
周期数据通信时隙 T。按如下计算:N 是连接从站的数量,T 。(n) 是 从C1
主站到 n 从站的传输
时 间 ,Tay(n) 是 C1 主站和从站 n 之间的帧传输延迟时间,Tp
是帧之间的间隔。
style="width:0.12665in" />
style="width:7.84668in;height:0.5401in" />
style="width:6.50007in;height:0.6402in" />
c) 重传时隙
重传时隙 Try 计算方法如下:N, 是重传输的数量,T (r) 从 C1 主站到从站 r
的传输时间指令,
GB/T 18473—2016
Tay(r) 是 在C1 主站和从站r 之间帧传输延迟时间,T 是帧之间的间隔:
style="width:7.92in;height:0.58674in" />
style="width:6.52666in;height:0.59334in" />
d) C1 消息通信时隙
C1 消息通信时隙 Tcim 计算方法如下:Tee(m₁)
是从站的序号或者变成从站的C2 主站),Tcr(m;)
与从站之间的传输延迟,Ncimyg是 C1 消息的数量,T
是请求传输时间从主站(C1 主站)到从站 m₁(m₁
是从从站到主站的响应传输时间,Tay(m₁) 是主站
是帧间隔。
Tcimg=NcimsgX{Trce(m₁)+Tay(mi)+Tgp+Trcr(m₁)+Tay(m₁)+Tgap}
=NcmgX{Tuce(mi)+Tud:(m₁)+2×Tay(m₁)+2×Tgp}
e) C2 消息通信时隙
C2 消息通信时隙 Tc₂mg计算方法如下:Tcle(m₂)
是从站的序号或者变成从站的 C1 主站),Tar(m₂)
与从站之间的传输延迟,Ncmg 是 C2 消息的数量,T
是请求传输时间从主站(C2 主站)到从站m₂(m2
是从从站到主站的响应传输时间,Tay(m₂) 是主站
是帧间隔。
Tcmg=Nc2mg×{Tc2e(m2)+Tdy(m₂)+Tp+Tc₂,(m₂)+Tay(m₂)+Tp}
=NcmgX{Tc2e(m2)+Tr2r(m2)+2×Tay(m₂)+2×Tgp}
图 B.9
给出周期传输和数据处理的时序关系。在1号周期中,从站锁存输入然后应答数据发送到
总线上。在2号周期中每个从站的输入数据被传输到 C1 主站。尽管C1
主站接收,但是在这个时候没 有被 C1 主站处理。 C1
主站在#3周期的开始处开始处理它。因此从从站的锁存输入的时序到主站处
理时序的延时是两个传输周期。同样 C1
主站执行的输出数据在3号周期的被传送到所有的从站中,
从站在4号周期中顺序传输。尽管在4号周期被每个从站接收到,但是此时没有被从站处理。所有从
站在5号周期的开始处同时启动执行。因此从主站向从站发出数据到从站处理执行处理数据的时间延
时为2个通信周期。
style="width:8.99994in;height:6.77996in" />
图 B.9 周期传输和数据处理的时序关系
GB/T 18473—2016
(资料性附录)
应用层过程数据单元及状态机示例
C.1 应用层过程数据单元示例
C.1.1 概述
图 C.1 为 MECHATROLINK 现场总线支持的应用层过程数据单元(APDU)
将给出常用 MECHATROLINK 应用层过程数据单元(APDU) 示例,见表 C.1。
单元(APDU) 遵 循 GB/T 20540.5—2006 建议的表达方式给出。
结构关系图。本部分
所有应用层过程数据
style="width:11.91989in;height:8.66668in" />Short PDL typo
APDU FUCSen
pdaRody (14 octets)
pnBndy (14 oclcs)
wdt
srul
daims
puuboxly
(1I oclels)
nwit
tcmd
alarm
Srans
(16 bik)
pdubexly
(11uclels)
rwdl
FKM WR-CMD-FINU
MM-R)-?M¹)-
MEM WR-CMD-PDI
pduBodyExt
(15 octcls)
pduBadyExt
(15oclcis)
SYNCType RSP PDU
ASYNCl:p:-RS3P)
c
reserve 2 TMH
roquestDati
MSGRSP-PII
fancCnde
00H
respolscDaua
(4..4092 octais)
RSFI
RSP2 PD[
RSF3-PD
RSP2-PDU
RSP3-PDI
NOP RSF2 FDL
NOP-RSP3-PDUJ
Denived fmm
RSP1-PDL
RSP2-PDL
MEMLWR RSP POI
118 bits) |
|
---|
(4,12,28,44,60
|
|
---|
图 C.1 应用层过程数据单元(APDU) 结构关系图
GB/T 18473—2016
CMD-PDU
SYNCType-CMD-PDU
ASYNCType-CMD-PDU
UCMD-PDU
NOP-CMD-PDU
PRM RD-CMD-PDU
PRM WR-CMD-PDU
_
ID RD-CMD-PDU
_
CONFIG-CMD-PDU
ALM RD-CMD-PDU
_ _
ALM CLR-CMD-PDU
_
SYNC SET-CMD-PDU
_ _
CONNECT-CMD-PDU
DISCONNECT-CMD-PDU
PPRM RD-CMD-PDU
PPRM WR-CMD-PDU
_ _
表 C.1 应用层过程数据单元(APDU) 示 例
::= SYNCType-CMD-PDU
I ASYNCType-CMD-PDU
::= UCMD-PDU
_
::= UCMD-PDU
_
NOP-CMD-PDU
_
PRM RD-CMD-PDU
_ _
PRM WR-CMD-PDU
_ _
ID RD-CMD-PDU
_
CONFIG-CMD-PDU
_
ALM RD-CMD-PDU
_ _
I ALM CLR-CMD-PDU
_ _
I SYNC SET-CMD-PDU
_ _
I CONNECT-CMD-PDU
_
DISCONNECT-CMD-PDU
PPRM RD-CMD-PDU
_ _
PPRM WR-CMD-PDU
I MEM RD-CMD-PDU
_ _
I MEM WR-CMD-PDU
_ _
::= CMD1-PDUI CMD2-PDUI CMD3-PDU
_ _ _
::= NOP-CMD1-PDUI NOP-CMD2-PDU I NOP-CMD3-PDU
_ _ _
::= |
|
PRM-RD-CMD2-PDU
|
---|
PRM RD-CMD3-PDU
_ _
::= PRM WR-CMD1-PDU PRM WR-CMD2-PDU
_ _
_ _
PRM WR-CMD3-PDU
_ _
::= ID RD-CMD1-PDU ID RD-CMD2-PDU
_
_ _
ID RD-CMD3-PDU
_ _
::= CONFIG-CMD1-PDU CONFIG CMD2 PDU
_
CONFIG-CMD3-PDU
::= ALM RD-CMD1-PDU ALM RD CMD2 PDU
_ _
ALM RD-CMD3-PDU
::= ALM CLR-CMD1-PDU ALM CLR CMD2 PDU
_ _
ALM CLR-CMD3-PDU
::= SYNC SET-CMD1-PDU
_ _
I SYNC SET-CMD2-PDU
_ _
I SYNC SET-CMD3-PDU
_ _
::= CONNECT-CMD1-PDU
_
I CONNECT-CMD2-PDU
I CONNECT-CMD3-PDU
_
::= DISCONNECT-CMD1-PDU
_
DISCONNECT-CMD2-PDU
I DISCONNECT-CMD3-PDU
::= PPRM RD-CMD1-PDU \| PPRM-RD-CMD2-PDU
_ _ _
PPRM RD-CMD3-PDU
::= PPRM WR CMD1 PDU PPRM WR-CMD2-PDU
_ _
_ _
MEM RD-CMD-PDU
_ _
MEM WR-CMD-PDU
_ _
GB/T 18473—2016
PPRM WR-CMD3-PDU
_ _
::= MEM RD-CMD3-PDU
_ _
::= MEM WR-CMD3-PDU
_ _
C.1.2 NOP 命令和响应 APDU
空操作时使用的 APDU。 从站执行空操作时,需要使用 NOP-RSP1-PDU
来响应显示从站最新警
报及状态。
NOP-CMD1-PDU | ::= CMD1-PDU(WITH COMPONENTS{..,cmd (nop)}) |
---|---|
|
|
C.1.3 PRM RD 命令和响应 APDU
在执行参数读取命令操作时使用的 APDU。
PRM RD-CMD1-PDU
PRM RD-CMD1Body
PRM RD-RSP1-PDU
PRM RD-RSP1Body
::= CMD1-PDU( WITH COMPONENTS
{.,cmd (prm rd),
pduBody(cmdBody PRM RD-CMD1Body)})
::= SEQUENCE{ reservel OCTET STRING SIZE(3),
pNo Unsigned16,
pSize Unsigned8,
reserve2 OCTET STRING SIZE(8)}
::= RSP1-PDU( WITH COMPONENTS
{.,rcmd(prm rd),
pduBody(rspBody PRM RD-RSP1Body)})
::= SEQUENCE{pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
pNo
此字包含读出的参数号。
值范围从0~65535。
pSize
此字包含一个8位字节大小的参数。
值范围从0~255。
parameter
此字包含的数据长度由pSize给出,数据结构和含义由pNo 给出。
C.1.4 PRM WR 命令和响应 APDU
执行参数写操作时使用的 APDU。
PRM WR-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS
{.,cmd(prm wr),
pduBody(cmdBody PRM WR-CMD1Body)})
GB/T 18473—2016
PRM WR-CMD1Body
PRM WR-RSP1-PDU
PRM WR-RSP1Body
::= SEQUENCE { reserve OCTET STRING SIZE(3),
pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
::= RSP1-PDU(WITH COMPONENTS
{.,rcmd(prm wr),
pduBody(rspBody PRM WR-RSP1Body)})
::= SEQUENCE { pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
pNo
此字包含读出的参数号。
值范围从0~65535。
pSize
此字包含一个8位字节大小的参数。
值范围从0~255。
parameter
此字包含的数据长度由pSize给出,数据结构和含义由 pNo 给出。
pNo-parameter
此字将包含相应 pNo
写入数据。数据的大小,数据的结构和它的意思可以取决于pNo。
C.1.5 ID RD 命令和响应 APDU
设备ID 读取操作过程中使用的 APDU。
ID RD-CMD1-PDU
ID RD-CMD1Body
ID RD-RSP1-PDU
ID RD-RSP1Body
::= CMD1-PDU(WITH COMPONENTS
{..,cmd (id rd),
pduBody(cmdBody ID RD-CMDBody)})
::= SEQUENCE { reservel OCTET STRING SIZE(3),
idCode Unsigned8,
idOffset Unsigned8,
idSize Unsigned8,
reserve2 OCTET STRING SIZE(8)}
::= RSP1-PDU(WITH COMPONENTS
{..,rcmd(id rd),
pduBody(rspBody ID RD-RSPBody)})
::= SEQUENCE { idCode Unsigned8,
idOffset Unsigned8,
idSize Unsigned8,
idData OCTET STRING SIZE(8)}
idCode
此字包含读出的设备 ID 编码。
值范围从0~255。
——'00'H: 设备模型;
GB/T 18473—2016
— '01'H 到'FF'H: 预留。
idOffset
此字包含了设备 ID 读出的偏移地址。
值范围从0~255。
idSize
此字包含读出设备ID 的字节长度。
值范围从0~255。
idData
此字包含所读出的相应idCode 的数据。数据长度由 idSize给出,结构和含义由
idCode 定义。
C.1.6 CONFIG 命令和响应 APDU
配置设备操作时使用的 APDU。
CONFIG-CMD1-PDU
_
CONFIG-CMD1Body
CONFIG-RSP1-PDU
config mode
此字应包含设备配置模式。
::= CMD1-PDU(WITH COMPONENTS
{..,cmd(config),
pduBody(cmdBody CONFIG-CMD1Body)})
::= SEQUENCE { reservel OCTET STRING SIZE(3),
config mode Unsigned8 { pActive (0),
reserve2 OCTET STRING SIZE(10)}
::= RSP1-PDU(WITH COMPONENTS {..,rcmd(config)
})
——pActive('00'H): 重新计算参数并设立;
——'01'H to'FF'H:预留。
C.1.7 ALM RD 命令与响应 APDU
读取报警操作使用的 APDU。
ALM RD-CMD1-PDU
::= CMD1-PDU(WITH
{..,cmd(alm rd),
COMPONENTS
pduBody(cmdBody ALM RD-CMD1Body)})
ALM RD-CMD1Body ::= SEQUENCE{ reservel OCTET STRING SIZE(3),
alm rd mode Unsigned8 { currentAlm (0)},
reserve2 OCTET STRING SIZE(10)}
ALM RD-RSP1-PDU
_
::= RSP1-PDU(WITH
{..,rcmd(alm rd),
COMPONENTS
pduBody(rspBody ALM RD-RSP1Body)})
ALM RD-RSP1Body ::= SEQUENCE {alm data Unsigned8 { currentAlm (0)},
alm data OCTET STRING SIZE(10)}
alm rd mode
_ _
此字包含报警读取模式。
——currentAlm('00'H): 读出当前的报警/警告状态;
——01'H to 'FF'H:预留。
alm data
_
此字应包含读出报警状态。
GB/T 18473—2016
C.1.8 ALM CLR 命令和响应 APDU
执行报警清除操作时使用的 APDU。
ALM CLR-CMD1-PDU
_
ALM CLR-CMD1Body
ALM CLR-RSP1-PDU
_ _
ALM CLR-RSP1Body
::= CMD1-PDU(WITH COMPONENTS
{..,cmd(alm clr),
pduBody(cmdBody ALM CLR-CMDBody)})
::= SEQUENCE{ reservel OCTET STRING SIZE(3),
alm clr mode Unsigned8 { cAlmClear(0)},
reserve2 OCTET STRING SIZE( 10)
::= RSP1-PDU(WITH COMPONENTS
{.,rcmd(alm clr),
pduBody(rspBody ALM CLR-RSP1Body)})
::=SEQUENCE {alm clr mode Unsigned8 { cAlmClear(0)}, reserve OCTET
STRING SIZE(10)}
alm clr mode
_ _
此字包含报警清除模式。
——cAlmClear('00'H): 清除当前报警和警告状态;
——01'H to 'FF'H:预留。
C.1.9 SYNC SET 命 令 和 响 应 APDU
MECHATROLINK 现场总线在执行通信状态切换过程中使用的 APDU。
SYNC SET-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS {..,cmd(sync set)})
SYNC SET-RSP1-PDU ::= RSPl-PDU (WITH COMPONENTS {..,rcmd(sync set)})
C.1.10 CONNECT 命令与响应 APDU
MECHATROLINK 现场总线在启动同步通信中使用的 APDU。
CONNECT-CMD1-PDU
CONNECT-CMD1Body
CONNECT-RSP1-PDU
_
::= CMD1-PDU(WITH COMPONENTS
{...,cmd(connect),
pduBody(cmdBody CONNECT-CMD1Body)})
::= SEQUENCE { reservel OCTET STRING SIZE(3),
ver Unsigned8,
com mod SEQUENCE {
reservel BIT STRING SIZE(1),
syncmode BIT STRING SIZE(1),
dtmode BIT STRING SIZE(2),
reserve2 BIT STRING SIZE(3),
subcmd BIT STRING SIZE (1)},
com time Unsigend8,
reserve2 OCTET STRING SIZE(8)}
::= RSP1-PDU(WITH COMPONENTS
{.,rcmd(connect),
pduBody(rspBody CONNECT-RSP1Body)})
GB/T 18473—2016
CONNECT-RSP1Body
::= SEQUENCE{ ver Unsigned8,
com mod SEQUENCE {
reservel BIT STRING SIZE(1),
syncmode BIT STRING SIZE(1),
dtmode BIT STRING SIZE(2),
reserve2 BIT STRING SIZE(3),
subcmd BIT STRING SIZE(1)},
com time Unsigend8,
reserve OCTET STRING SIZE(10)}
com mod
_
该字段包含以下子字段定义。
syncmode
此位字段应指示通信模式:
dtmode
此位字段指示传输模式。
'00'H:单向传输模式;
'01'H: 双向传输模式;
subcmd
此位字段指示是否使用子命令:
0:子命令字段非使能;
1:子命令字段使能。
com time
此字段应包含通信周期时间,这个时间是以传输周期时间倍数的形式。
值范围从0~255。
C.1.11 DISCONNECT 命 令 与 响 应 APDU
主站和从站释放同步连接过程中使用的 APDU。
DISCONNECT-CMD1-PDU
DISCONNECT-RSP1-PDU
::= CMD1-PDU(WITH connect)})
::= RSP1-PDU(WITH (disconnect)})
COMPONENTS
COMPONENTS
{...,cmd(dis-
{.... rcmd
C.1.12 PPRM RD 命 令 与 响 应 APDU
PROM 参数读取操作过程中使用的 APDU。
PPRM RD-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS
{.,cmd(pprm rd),
pduBody(cmdBody PPRM RD-CMD1Body)})
PPRM RD CMD1Body ::= SEQUENCE{ reservel OCTET STRING SIZE(3),
pNo Unsigned16,
pSize Unsigned8,
reserve2 OCTET STRING SIZE(8)}
GB/T 18473—2016
PPRM RD-RSP1-PDU
PPRM RD-RSP1Body
::= RSP1-PDU(WITH COMPONENTS
{..,rcmd (pprm rd),
pduBody(rspBody PPRM RD-RSP1Body)})
::= SEQUENCE{ pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
pNo
此字包含读出的参数号。
值范围从0~65535。
pSize
此字包含一个8位字节大小的参数。
值范围从0~255。
parameter
此字包含的数据长度由 pSize给出,数据结构和含义由 pNo 给出。
C.1.13 PPRM WR 命令与响应 APDU
PROM 参数写操作过程中使用的 APDU。
PPRM WR-CMD1-PDU ::= CMD1-PDU(WITH COMPONENTS
{..,cmd(pprm wr),
pduBody(cmdBody PPRM WR-CMD1Body)})
PPRM WR CMD1Body ::= SEQUENCE { reserve OCTET STRING SIZE(3),
pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
PPRM WR-RSP1-PDU ::= RSP1-PDU(WITH COMPONENTS
{.,rcmd(pprm wr),
pduBody(rspBody PPRM WR-RSP1Body)})
PPRM WR-RSP1Body ::= SEQUENCE{ pNo Unsigned16,
pSize Unsigned8,
parameter OCTET STRING SIZE(8)}
pNo
此字包含读出的参数号。
值范围从0~65535。
pSize
此字包含一个8位字节大小的参数。
值范围从0~255。
parameter
此字包含的数据长度由 pSize给出,数据结构和含义由 pNo 给出。
C.2 应用层通信控制状态机示例
应用层通信控制状态机如图C.2 所示,应用层通信控制状态机条件列表见表
C.2,应用层通信控制
状态机状态列表见表 C.3。
注:以 MECHATROLINK 实时串行通信协议为例。
GB/T 18473—2016
style="width:5.92675in;height:10.92014in" />(E1/I1)
any
state
S0
Cleared
E3/T2
E7-F11
E14,E15 oJ E16
/T3
S1
Creating
E17/T4
S2
Created
E5/T6
E4/T5
S3
Activating
E7-E16
/T7
E18/T8
S4
Active
E2/T9,
E4/T10
图 C.2 应用层通信控制状态机(示例)
表 C.2 应用层通信控制状态机条件列表
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 18473—2016
表 C.2 ( 续 )
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表 C.3 应用层通信控制状态机状态列表
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
GB/T 18473—2016
表 C.3 ( 续 )
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
style="width:3.09333in" />GB/T 18473—2016
更多内容 可以 GB-T 18473-2016 工业机械电气设备 控制与驱动装置间实时串行通信数据链路. 进一步学习